I. Field of the Invention
The present invention generally relates to databases, including databases associated with computing-based environments. More particularly, the invention relates to systems, methods and articles of manufacture for upgrading a database with a shadow system to install, for example, a new release of one or more software applications running on the database.
II. Background and Material Information
Databases are often provided to facilitate the running of software applications in a computing-based environment. Examples of software applications include operating system software, and programs that run on an operating system. Databases in computing environments also store data. Such data may include data to configure programs, as well as application data that is generated during, for example, productive use or operation of an application.
Various arrangements may be provided to facilitate access to a database. For example, networked and other database sharing environments permit multiple users to share a database. Such arrangements facilitate client-server solutions for business and other types of database user environments. By way of example, R/3 is a client-server solution provided by SAP® AG. An R/3 system typically includes a number of software applications or modules that are installed in an environment comprising a database and an application server connected to the database. The application server of an R/3 system can perform numerous functions, including executing programs stored in the database.
From time to time, a database may need to be upgraded in view of various factors. For instance, modifications or enhancements to applications and/or data by a software vendor may require that prior releases running on a database be upgraded to a new release. Additionally, revisions to correct programming errors or bugs may require that a database be upgraded with a new release.
When upgrading a database, there are a number of technical problems to be addressed. For example, most database users depend on the availability of a database, including the applications and data stored therein. In some cases, the required availability of a database may dictate that interruptions to productive operation be minimized when performing an upgrade. By way of example, a database user may require approximately, continuous availability of a database (e.g., availability 12-24 hours a day, 5-7 days a week). Therefore, extended database interruptions may be unacceptable and minimizing the downtime for a database upgrade can become problematic, especially when attempting to upgrade a large database using conventional techniques.
Other issues may exist when upgrading a database. For instance, many database environments require that certain modifications, add-ons, support packages, application data, customizing data and/or other items be maintained when installing a new release. Making adjustments to import or maintain such items can dramatically extend the downtime required for performing an upgrade and, in some cases, create failure or disaster risks for the database. Conventional methods for upgrading a database also suffer other drawbacks, such as being technology dependent or restrictive as to the upgrade release (i.e., dependent on the prior release(s) installed in the database).
Therefore, there is a need for improved systems, methods and articles of manufacture for upgrading a database. For example, in view of the drawbacks of conventional approaches, there is a need for an improved database upgrade methodology that requires only minimal downtime. There is also a need for systems, methods and articles of manufacture to upgrade a database with less restrictive technology and/or release dependencies. There is also a need to provide other improvements, such as the ability to efficiently handle modifications, add-ons, support modules, application data, customizing data and/or other items when performing a database upgrade.